package net.halflite.mzkr.entity.names;

import java.util.Date;

import net.halflite.mzkr.entity.TempUser;
import net.halflite.mzkr.entity.names.RegistedUserNames._RegistedUserNames;
import net.halflite.mzkr.type.TempUserType;

import org.seasar.extension.jdbc.name.PropertyName;

/**
 * {@link TempUser}のプロパティ名の集合です。
 * 
 */
public class TempUserNames {

    /**
     * idのプロパティ名を返します。
     * 
     * @return idのプロパティ名
     */
    public static PropertyName<Long> id() {
        return new PropertyName<Long>("id");
    }

    /**
     * registedUserIdのプロパティ名を返します。
     * 
     * @return registedUserIdのプロパティ名
     */
    public static PropertyName<Long> registedUserId() {
        return new PropertyName<Long>("registedUserId");
    }

    /**
     * hashのプロパティ名を返します。
     * 
     * @return hashのプロパティ名
     */
    public static PropertyName<String> hash() {
        return new PropertyName<String>("hash");
    }

    /**
     * addressのプロパティ名を返します。
     * 
     * @return addressのプロパティ名
     */
    public static PropertyName<String> address() {
        return new PropertyName<String>("address");
    }

    /**
     * typeのプロパティ名を返します。
     * 
     * @return typeのプロパティ名
     */
    public static PropertyName<TempUserType> type() {
        return new PropertyName<TempUserType>("type");
    }

    /**
     * createdのプロパティ名を返します。
     * 
     * @return createdのプロパティ名
     */
    public static PropertyName<Date> created() {
        return new PropertyName<Date>("created");
    }

    /**
     * modifiedのプロパティ名を返します。
     * 
     * @return modifiedのプロパティ名
     */
    public static PropertyName<Date> modified() {
        return new PropertyName<Date>("modified");
    }

    /**
     * registedUserのプロパティ名を返します。
     * 
     * @return registedUserのプロパティ名
     */
    public static _RegistedUserNames registedUser() {
        return new _RegistedUserNames("registedUser");
    }

    /**
     * @author S2JDBC-Gen
     */
    public static class _TempUserNames extends PropertyName<TempUser> {

        /**
         * インスタンスを構築します。
         */
        public _TempUserNames() {
        }

        /**
         * インスタンスを構築します。
         * 
         * @param name
         *            名前
         */
        public _TempUserNames(final String name) {
            super(name);
        }

        /**
         * インスタンスを構築します。
         * 
         * @param parent
         *            親
         * @param name
         *            名前
         */
        public _TempUserNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }

        /**
         * idのプロパティ名を返します。
         *
         * @return idのプロパティ名
         */
        public PropertyName<Long> id() {
            return new PropertyName<Long>(this, "id");
        }

        /**
         * registedUserIdのプロパティ名を返します。
         *
         * @return registedUserIdのプロパティ名
         */
        public PropertyName<Long> registedUserId() {
            return new PropertyName<Long>(this, "registedUserId");
        }

        /**
         * hashのプロパティ名を返します。
         *
         * @return hashのプロパティ名
         */
        public PropertyName<String> hash() {
            return new PropertyName<String>(this, "hash");
        }

        /**
         * addressのプロパティ名を返します。
         *
         * @return addressのプロパティ名
         */
        public PropertyName<String> address() {
            return new PropertyName<String>(this, "address");
        }

        /**
         * typeのプロパティ名を返します。
         *
         * @return typeのプロパティ名
         */
        public PropertyName<TempUserType> type() {
            return new PropertyName<TempUserType>(this, "type");
        }

        /**
         * createdのプロパティ名を返します。
         *
         * @return createdのプロパティ名
         */
        public PropertyName<Date> created() {
            return new PropertyName<Date>(this, "created");
        }

        /**
         * modifiedのプロパティ名を返します。
         *
         * @return modifiedのプロパティ名
         */
        public PropertyName<Date> modified() {
            return new PropertyName<Date>(this, "modified");
        }

        /**
         * registedUserのプロパティ名を返します。
         * 
         * @return registedUserのプロパティ名
         */
        public _RegistedUserNames registedUser() {
            return new _RegistedUserNames(this, "registedUser");
        }
    }
}